package com.cyys.modules.system.dao.user;

import com.cyys.common.mapper.CyysBaseMapper;
import com.cyys.modules.system.model.user.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface MenuDao extends CyysBaseMapper<Menu> {

	/**
	 * 根据父类查询数据
	 * 
	 * @param parentId
	 *            null,查询所有数据 0:查询未删除的数据,1:查询已删除的数据
	 * @return
	 * @
	 */
	List<Menu> getByParentId(@Param(value = "parentId") String parentId, boolean isDeveloper);

	/**
	 * 根据父类查询子的数量
	 * 
	 * @param parentId
	 *            null,查询所有数据 0:查询未删除的数据,1:查询已删除的数据
	 * @return
	 * @
	 */
	int chlidNum(@Param(value = "parentId") String parentId);

	/**
	 * 获取角色权限菜单
	 * 
	 * @param roleId
	 *            null,查询所有数据 0:查询未删除的数据,1:查询已删除的数据
	 */
	List<Menu> getMenuByRoleId(@Param(value = "roleId") String roleId);

	/**
	 * 根据多个角色ID获取权限菜单
	 * 
	 * @param roleIds
	 *            以逗号隔开的id
	 * @return
	 * @
	 */
	List<Menu> getMenuByRoleIds(@Param(value = "roleIds") String[] roleIds) ;

	Set<String> shiroByRoleIds(@Param(value = "roleIds")  String[] roleIds) ;

	List<Menu> listByIds(@Param(value = "ids")String[] ids);
}
